using System;
using System.Threading.Tasks;
using ERP.ERPModels.Production.MasterData;
using ERP.HumanResources.Production.MasterData.Dtos;
using Volo.Abp.Application.Services;

namespace ERP.HumanResources.Production.MasterData
{
    /// <summary>
    /// 工序配置服务接口
    /// </summary>
    public interface IProcessConfigurationService : IApplicationService
    {
        /// <summary>
        /// 获取工序配置列表
        /// </summary>
        /// <param name="input">查询参数</param>
        /// <returns></returns>
        Task<ProcessConfiguration> GetAsync(int id);
        
        /// <summary>
        /// 创建工序配置
        /// </summary>
        /// <param name="input">创建参数</param>
        /// <returns></returns>
        Task<ProcessConfiguration> CreateAsync(ProcessConfiguration input);
        
        /// <summary>
        /// 更新工序配置
        /// </summary>
        /// <param name="id">ID</param>
        /// <param name="input">更新参数</param>
        /// <returns></returns>
        Task<ProcessConfiguration> UpdateAsync(int id, ProcessConfiguration input);
        
        /// <summary>
        /// 删除工序配置
        /// </summary>
        /// <param name="id">ID</param>
        /// <returns></returns>
        Task DeleteAsync(int id);
    }
} 